//
//  YLAppUtils.h
//  yuLink
//
//  Created by aiwoba on 2021/3/5.
//

#import <Foundation/Foundation.h>


/*
 本类是，一些通用处理
 */
NS_ASSUME_NONNULL_BEGIN


@interface YLAppUtils : NSObject
// 字体
+ (UIFont *)ylFontRegular:(CGFloat)fontSize;

+ (UIFont *)ylFontMedium:(CGFloat)fontSize;

+ (UIFont *)ylFontLight:(CGFloat)fontSize ;

+ (UIFont *)ylFontSemibold:(CGFloat)fontSize;

+ (UIFont *)ylFontNumberBold:(CGFloat)fontSize ;

+ (UIFont *)ylFontNumberRegular:(CGFloat)fontSize;

// 判断是否为空
+ (BOOL)judgeStrIsEmpty:(NSString *)str;
+ (BOOL)judgeInfoIsEmpty:(id )info;
// 过滤null和nil
+ (NSString *)filterNull:(NSString *)str;

+ (BOOL)isIphonex ;

#pragma mark -字典转换成json串
+ (NSString *)dictionaryToJsonString:(NSDictionary *)dict;
#pragma mark -数组转换成json串
+(NSString *)arrayToJsonString:(NSArray *)array;
///颜色转image
+(UIImage*)ylCreateImageWithColor:(UIColor*)color;

//数组转为json字符串
+(NSString *)arrayToJSONString:(NSArray *)array;


/**
 计算文字宽度

 @param attString 富文本
 @param height 文本高度限制
 @return 返回宽度
 */
+ (CGFloat)textWidthWithAttString:(nullable NSAttributedString *)attString
                           height:(CGFloat)height;
+ (CGFloat)textWidthWithAttString:(nullable NSAttributedString *)attString
                           height:(CGFloat)height
                   maximumLineNum:(NSUInteger)lineNum;
+ (CGSize)textSizeWithAttString:(NSAttributedString *)attString width:(CGFloat)width maximumLineNum:(NSUInteger)lineNum ;

/**
 计算文字高度

 @param attString 富文本
 @param width 文本限制宽度
 @param lineNum 文本行数 0返回所有文本高度
 @return 返回高度
 */
+ (CGFloat)textHeightWithAttString:(nullable NSAttributedString *)attString
                             width:(CGFloat)width
                    maximumLineNum:(NSUInteger)lineNum;
/**
 用于快速计算label的高度

 @param label 需要传入设置好属性(字体，文字，是否换行)的label对象
 @return 返回label的frame.size
 舍弃，用基于YYTextLayout 封装的接口去获取文本高度  textWidthWithAttString
 */
+ (CGSize)labelTextSize:(nullable UILabel *)label;
+ (BOOL)isIpad ;
+ (NSString *)URLDecode:(NSString *)undecodedURL;
//获取客户端设备唯一标识
+ (NSString *)getUUID;
//获取客户端APP版本号
+ (NSString *)getAppVersion ;
//获取客户端操作系统的版本号
+ (NSString *)getIOSVersion;
//获取当前屏幕显示的viewcontroller
+ (UIViewController *)getCurrentVC;
///复制地址
+ (void)pasteboardURLString:(NSString *)pageUrl ;
///TextField 截取字符串  防止表情
+(NSString *)subStringWith:(NSString *)string ToIndex:(NSInteger)index;
+(void)checkAudioAuthorization ;

+ (void)checkVideoAuthorization ;
+(void)refreshUnReadMsg:(BOOL)newCome;

//+(void)toVideoVC:(REDramaModel *)model;
//获取客户端设备唯一标识
+ (NSString *)getIDFA;


 @end

NS_ASSUME_NONNULL_END
